<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <div id="app">
        <h1>{{name}}</h1>
    </div>
</body>
</html>
<script src="../../node_modules/vue/dist/vue.js"></script>
<script>
    let vm = new Vue({
        el:'#app',
        data:{
            name:"珠峰",
            obj:{
              a:123
            }
        },
        watch:{
          // 监听的属性 都是已经存在的属性
          // name(newV,oldV){
          //   // 死活监听name属性 只要那么发生了改变； 这个函数就会执行 不论同异步
          //   console.log(newV,oldV)
          // },
          name:{
            handler(newV,oldV){
              console.log(newV,oldV)
            },
            immediate:true,// 第一次渲染的时候就执行一次 默认false
          } ,
          // obj(){
          //   // 监听的是 obj这个变量 里边属性的改变 我们监听不到
          //   console.log(arguments)
          // } 
          obj:{
            handler(newV,oldV){
              //深度监听之后 新值和老值是同一个地址
              console.log(newV,oldV)
            },
            deep:true // 深度监听
          }
        }
    });
</script>